/**
 * @Author: chensj
 * @Date: 18-11-22 下午8:57
 * @Description:
 * @Title:
 */

const mysql = require('mysql');
const config = {
    host : 'localhost', /*主机地址 */
    user : 'root', /*用户名*/
    password : '123456', /*密码*/
    port:3306, /*端口*/
    database : 'nodejs' ,/*数据库名*/
    charset:'UTF8_GENERAL_CI' , /*默认值UTF8_GENERAL_CI*/
    /*
    *    localAddress	此IP用于TCP连接（可选）
    * 　　socketPath	连接到unix域路径，当使用 host 和 port 时会被忽略
    * 　　timezone	时区（默认：'local'）
    * 　　connectTimeout	连接超时（默认：不限制；单位：毫秒）
    * 　　stringifyObjects	是否序列化对象
    * 　　typeCast	是否将列值转化为本地JavaScript类型值 （默认：true）
    * 　　queryFormat	自定义query语句格式化方法
    * 　　supportBigNumbers	数据库支持bigint或decimal类型列时，需要设此option为true （默认：false）
    * 　　bigNumberStrings	supportBigNumbers和bigNumberStrings启用 强制bigint或decimal列以JavaScript字符串类型返回（默认：false）
    * 　　dateStrings	强制timestamp,datetime,data类型以字符串类型返回，而不是JavaScript Date类型（默认：false）
    * 　　debug	开启调试（默认：false）
    * 　　multipleStatements	是否许一个query中有多个MySQL语句 （默认：false）、
    * 　　flags	用于修改连接标志
    * 　　ssl	使用ssl参数（与crypto.createCredenitals参数格式一至）或一个包含ssl配置文件名称的字符串，目前只捆绑Amazon RDS的配置文件
    */
};
const connection = mysql.createConnection(config);

connection.connect();
//查
var query = 'select * from websites';
connection.query(query, ((err,result,field) => {
    if(err){
        console.log(`[ERROR CODE ] - ${err}`);
        return ;
    }

    console.log('----------------------SELECT----------------------');
    console.log(result);
    console.log('--------------------------------------------------');
}));
//增
var insert = 'insert into websites (id,name,url,alexa,country) VALUES(7,?,?,?,?)'
var param = ['测试','https://www.demo.com','2050','CN'];
connection.query(insert,param,function (err,result) {
    if(err){
        console.log(`[ERROR CODE ] - ${err}`);
        return ;
    }
    console.log('----------------------INSERT----------------------');
    console.log(result);
    console.log('--------------------------------------------------');
});

var modSql = 'UPDATE websites SET name = ?,url = ? WHERE Id = ?';
var modSqlParams = ['菜鸟移动站', 'https://m.runoob.com',6];
//改
connection.query(modSql,modSqlParams,function (err, result) {
    if(err){
        console.log('[UPDATE ERROR] - ',err.message);
        return;
    }
    console.log('--------------------------UPDATE----------------------------');
    console.log('UPDATE affectedRows',result.affectedRows);
    console.log('-----------------------------------------------------------------\n\n');
});

//删
var delSql = 'DELETE FROM websites where id=6';

connection.query(delSql,function (err, result) {
    if(err){
        console.log('[DELETE ERROR] - ',err.message);
        return;
    }

    console.log('--------------------------DELETE----------------------------');
    console.log('DELETE affectedRows',result.affectedRows);
    console.log('-----------------------------------------------------------------\n\n');
});

connection.end();